Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR refactors the flush mechanisms for both noble and ethereum-based chains. Flushes will no longer look back a
lookbackPeriod
all the way up until thechain tip
. There will now be a minimum gap oflookbackPeriod
between thelast flushed block
and thechain tip
. This ensures that transactions currently being processed will not get picked up again via the flush.New flush logic
First Flush
startBlock = currentHeight - (2 * lookbackPeriod)
finishBlock = currentHeight - lookbackPeriod
Subsequent Flushes
startBlock = last flushed block
finishBlock = currentHeight - lookbackPeriod
How to Configure
For best results and coverage, the lookback period in blocks should correspond to the flush interval. If a chain produces 1 block a second and the flush interval is set to 30 minutes (1800 seconds), the lookback period should be at least 1800 blocks. When in doubt, round up and add a small buffer.
Examples
Consider a 30 minute flush interval (1800 seconds)